package com.lvy.hczn.front.system.domain.business;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lvy.hczn.front.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 出库单
 *
 * @author yw
 * @date 2022-03-22 20:51:32
 **/
@Data
@TableName("outbound_order")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "出库单")
public class OutboundOrder extends BaseModel<OutboundOrder> {

    @ApiModelProperty(value = "出库单编号")
    private String outboundOrderCode;

    @ApiModelProperty(value = "类型：1、订单出库；2、退贷出库")
    private Integer outboundOrderType;

    @ApiModelProperty(value = "仓库编码")
    private String warehouseCode;

    @ApiModelProperty(value = "业务类型:1销售配送/2销售退货配送/3发货配送")
    private Integer serviceType;

    @ApiModelProperty(value = "业务单号:销售单号/销售退货单号/发货单号")
    private String serviceCode;

    /**
     * 汇总时的所属仓库下的提货单ID
     */
    @ApiModelProperty(value = "汇总时的所属仓库下的提货单ID")
    private String sourceId;

    @ApiModelProperty(value = "是否带箱出库：0、不带货箱出库；2、带货箱出库")
    private Integer outWithBox;

    @ApiModelProperty(value = "快递员/送货员")
    private String expressId;

    @ApiModelProperty(value = "出库时间")
    private LocalDateTime outboundTime;

    @ApiModelProperty(value = "总重量")
    private BigDecimal weight;

    @ApiModelProperty(value = "总数量")
    private Integer count;

    @TableField(exist = false)
    private List<OutboundOrderDetail> list;
}
